import * as actionType from './actionTypes'
// immutable对象的set方法，会结合之前的immutable对象的值，返回一个全新的对象。。（immutable 不可改变的）（避免误伤改变了state的数据）
// 把数据变成immutable对象
import { fromJS } from 'immutable'
const defaultState = fromJS({
  name: '默认值',
  // 如果是数组或者对象，也会把他的值也变成immutable。所以赋值的时候也要把值转转换为immutable 再复制。
  list: []
})
//把immutable对象变为普通的js
//list.toJS()

export default (state = defaultState, action) => {
  // let newState = JSON.parse(JSON.stringify(state))
  switch (action.type) {
    case actionType.SET_NAME:
      // 如果改变immutable多个属性可以用
      // state.merge({
      // name:action.value
      // })
      return state.set('name', action.value)
    case actionType.GET_NAME:
      console.log('我在reducer中也被监听到里，saga也监听到了,这就是saga的作用')
      return state
    default:
      return state
  }
}
